/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Comun;




import com.sun.awt.AWTUtilities;
import java.awt.Color;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import org.edisoncor.gui.util.WindowsUtil;

/**
 *
 * @author Luis Ramirez Martinez SAMI 2011
 *
 */
public  class clsSaicFrame extends JFrame{
    
 
    private  Properties propiedades = new Properties();
    private GlassPanel glass =new GlassPanel();
    private WindowsUtil windowsUtil1=new WindowsUtil();
    private Color tema=Color.BLACK;
    
    
    public clsSaicFrame() {
        setUndecorated(true);
        setResizable(false);
        AWTUtilities.setWindowOpaque(this, false);
         String osnom=System.getProperty("os.name");
        if( osnom.equals("Mac OS X")){ 
            com.apple.eawt.Application macApp = com.apple.eawt.Application.getApplication();
            macApp.setDockIconImage(new ImageIcon (getClass ().getResource ("/img/SAIC_App.png")).getImage ());
          }
       // WindowsUtil.makeWindowsOpacity(this, .9f);
        propiedades=ObtenerPropiedades();
        this.setLocation(Integer.parseInt(propiedades.getProperty("PosX", "50")), Integer.parseInt(propiedades.getProperty("PosY", "30")));
        //Dimension frameSize = new Dimension(Integer.parseInt(propiedades.getProperty("Alto", "80")), Integer.parseInt(propiedades.getProperty("Ancho", "280")));
        //this.setSize(frameSize);
        //glass.setIcon(new javax.swing.ImageIcon("/Users/luisramirezmartinez/Documents/Luis/Imágenes 2/blazon.png"));
        this.setGlassPane(glass);
       // this.getContentPane().setBackground(tema);
        this.addWindowStateListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e){
                GuardarPropiedad("Nombre", getTitle());
                GuardarPropiedad("PosX", ""+getX());
                GuardarPropiedad("PosY", ""+getY());
                GuardarPropiedad("Alto", ""+getWidth());
                GuardarPropiedad("Ancho", ""+getHeight());
                super.windowClosing(e);
            }
        
        });
    }
    
    
    
    public final Properties ObtenerPropiedades(){
        File fileProperties = new File(System.getProperty("user.dir")+"/src/Propiedades");
        if(!fileProperties.isDirectory()) if(fileProperties.mkdirs());         
        File  archivo = new File(System.getProperty("user.dir")+"/src/Propiedades",this.getClass().getSimpleName().toLowerCase() + ".properties"); 
            try {
                if(!archivo.exists()) archivo.createNewFile();
                String DirPropiedades = System.getProperty("user.dir")+"/src/Propiedades/" + this.getClass().getSimpleName().toLowerCase() + ".properties";
                fileProperties = new File(DirPropiedades);
                fileProperties.createNewFile(); 
                FileInputStream in = new FileInputStream(fileProperties);
                propiedades.load(in);
                in.close();
            } catch (IOException ex) { 
                System.out.println("No he podido Leer el archivo"); 
            }
          return propiedades;
         }
     public final void GuardarPropiedad(String NombrePropiedad, String Propiedad) {
        try {
            File  archivo = new File(System.getProperty("user.dir")+"/src/Propiedades",this.getClass().getSimpleName().toLowerCase() + ".properties"); 
            FileOutputStream out = new FileOutputStream(archivo);
             propiedades.setProperty(NombrePropiedad,Propiedad);
             propiedades.store(out, "Propiedades de "+this.getClass().getSimpleName().toLowerCase());
        } catch (FileNotFoundException ex) {
            
        }catch (IOException ex) { 
                System.out.println("No he podido Guadar el archivo"); 
            }
           
     }

    @Override
    public void dispose() {
        GuardarPropiedad("Nombre", getTitle());
        GuardarPropiedad("PosX", ""+getX());
        GuardarPropiedad("PosY", ""+getY());
        GuardarPropiedad("Alto", ""+getWidth());
        GuardarPropiedad("Ancho", ""+getHeight());
        super.dispose();
    }

    /**
     * @return the tema
     */
    
    public Color getTema() {
        return tema;
    }

    /**
     * @param tema the tema to set
     */
    
    public void setTema(Color tema) {
        this.tema = tema;
    }
    
    public  boolean Refrescar(){
        return false;
    }
}
